﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
namespace House.Server.Common
{
    public class EnumHelper
    {
        public static string GetEnumSelectState<T>(int State)
        {
            string description = string.Empty;
            //获取传入的数据类型
            Type enumType = typeof(T);
            //获取枚举字段数组 
            string[] fieldstrs = Enum.GetNames(enumType);
            //循环获取枚举中的字段
            foreach (var item in fieldstrs)
            {
                //获取字段中的常量值与传入的值相同的字段
                if (State == (int)Enum.Parse(enumType, item))
                {
                    //获取字段名
                    var field = enumType.GetField(item);
                    object[] arr = field.GetCustomAttributes(typeof(DescriptionAttribute), true); //获取属性字段数组  
                    if (arr != null && arr.Length > 0)
                    {
                        //只取第一个属性描述  
                        description = ((DescriptionAttribute)arr[0]).Description;
                    }
                    else
                    {
                        description = item;  //描述不存在取字段名称  
                    }
                    break;
                }
            }
            return description;
        }

    }
}
